package com.mt.roll.wms.vo;

import com.mt.roll.core.vo.CommonVo;
import com.mt.roll.core.vo.PageVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * @auther why
 * @date 2021/9/29 15:20
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Builder
@ApiModel(value = "历史任务列表视图对象", description = "用于查询历史任务列表信息")
public class CarTaskExecutionInfoHisVo extends CommonVo implements PageVo.ConvertVo {

    private static final long serialVersionUID = 1L;
    /**
     * 主键，自增
     */
    @ApiModelProperty(value = "主键", example = "1")
    private Long id;

    /**
     * 任务编码
     */
    @ApiModelProperty(value = "任务编码", example = "1")
    private String taskCode;

    /**
     * 任务发起时间
     */
    @ApiModelProperty(value = "任务发起时间", example = "1")
    private LocalDateTime createTime;

    /**
     * 任务来源
     */
    @ApiModelProperty(value = "任务来源", example = "1")
    private Integer taskSource;

    /**
     * 任务类型
     */
    @ApiModelProperty(value = "任务类型（任务类型：0：出库   1：入库   2：流转）", example = "0")
    private Integer taskType;

    /**
     * 任务箱号
     */
    @ApiModelProperty(value = "任务箱号", example = "0")
    private String fullCode;

    /**
     * 空箱号
     */
    @ApiModelProperty(value = "空箱号", example = "0")
    private String emptyCode;

    /**
     * 上一个工序
     */
    @ApiModelProperty(value = "上一个工序", example = "0")
    private String anotherCurrProcessCode;

    /**
     * 下一个工序
     */
    @ApiModelProperty(value = "下一个工序", example = "0")
    private String anotherNextProcessCode;

    /**
     * 开始库位
     */
    @ApiModelProperty(value = "开始库位", example = "0")
    private String anotherCurrLocation;

    /**
     * 目标库位
     */
    @ApiModelProperty(value = "目标库位", example = "0")
    private String anotherTargetLocation;

    /**
     * 空箱开始库位
     */
    @ApiModelProperty(value = "空箱开始库位", example = "0")
    private String currLocation;

    /**
     * 空箱目标库位
     */
    @ApiModelProperty(value = "空箱目标库位", example = "0")
    private String targetLocation;

    /**
     * 车辆名
     */
    @ApiModelProperty(value = "车辆名", example = "0")
    private String name;

    /**
     * 任务状态
     */
    @ApiModelProperty(value = "任务状态（0初始化，1损坏）", example = "0")
    private Integer status;

}
